home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #3 / Amiga Plus CD - 2002 - No. 03.iso / AmiSoft / Dev / Gui / Cit.lha / CIT / citra / CITFuelGauge.h < prev    next >
Encoding:
C/C++ Source or Header  |  2003-02-13  |  2.6 KB  |  98 lines

  1. //
  2. //                    CITFuelGauge include
  3. //
  4. //                          StormC
  5. //
  6. //                     version 2003.02.12
  7. //
  8.  
  9. #ifndef CITFUELGAUGE_H
  10. #define CITFUELGAUGE_H TRUE
  11.  
  12. #include "CITGadget.h"
  13. #include <gadgets/fuelgauge.h>
  14.  
  15. //
  16. // This enum is for internal use only
  17. //
  18. enum
  19. {
  20.   CITFUELGAUGE_MIN = 0,
  21.   CITFUELGAUGE_MAX,
  22.   CITFUELGAUGE_LEVEL,
  23.   CITFUELGAUGE_ORIENTATION,
  24.   CITFUELGAUGE_PERCENT,
  25.   CITFUELGAUGE_TICKS,
  26.   CITFUELGAUGE_SHORTTICKS,
  27.   CITFUELGAUGE_TICKSIZE,
  28.   CITFUELGAUGE_TICKPEN,
  29.   CITFUELGAUGE_PERCENTPEN,
  30.   CITFUELGAUGE_FILLPEN,
  31.   CITFUELGAUGE_EMPTYPEN,
  32.   CITFUELGAUGE_VARARGS,
  33.   CITFUELGAUGE_JUSTIFICATION,
  34.   CITFUELGAUGE_LAST
  35. };
  36.  
  37. class CITFuelGauge:public CITGadget
  38. {
  39.   public:
  40.     CITFuelGauge();
  41.     ~CITFuelGauge();
  42.  
  43.     void Min(LONG min)
  44.            {setTag(CITFUELGAUGE_MIN,FUELGAUGE_Min,min);}
  45.     void Max(LONG max)
  46.            {setTag(CITFUELGAUGE_MAX,FUELGAUGE_Max,max);}
  47.     void Level(LONG level)
  48.            {setTag(CITFUELGAUGE_LEVEL,FUELGAUGE_Level,level);}
  49.     void Orientation(WORD orien)
  50.            {setTag(CITFUELGAUGE_ORIENTATION,FUELGAUGE_Orientation,orien);}
  51.     void Percent(BOOL b = TRUE)
  52.            {setTag(CITFUELGAUGE_PERCENT,FUELGAUGE_Percent,b);}
  53.     void Ticks(WORD ticks)
  54.            {setTag(CITFUELGAUGE_TICKS,FUELGAUGE_Ticks,ticks);}
  55.     void ShortTicks(WORD ticks)
  56.            {setTag(CITFUELGAUGE_SHORTTICKS,FUELGAUGE_ShortTicks,ticks);}
  57.     void TickSize(WORD size)
  58.            {setTag(CITFUELGAUGE_TICKSIZE,FUELGAUGE_TickSize,size);}
  59.     void TickPen(WORD pen)
  60.            {setTag(CITFUELGAUGE_TICKPEN,FUELGAUGE_TickPen,pen);}
  61.     void PercentPen(WORD pen)
  62.            {setTag(CITFUELGAUGE_PERCENTPEN,FUELGAUGE_PercentPen,pen);}
  63.     void FillPen(WORD pen)
  64.            {setTag(CITFUELGAUGE_FILLPEN,FUELGAUGE_FillPen,pen);}
  65.     void EmptyPen(WORD pen)
  66.            {setTag(CITFUELGAUGE_EMPTYPEN,FUELGAUGE_EmptyPen,pen);}
  67.     void VarArgs(APTR arg)
  68.            {setTag(CITFUELGAUGE_VARARGS,FUELGAUGE_VarArgs,ULONG(arg));}
  69.     void Justification(WORD just)
  70.            {setTag(CITFUELGAUGE_JUSTIFICATION,FUELGAUGE_Justification,just);}
  71.  
  72.     LONG Min()
  73.            { return LONG(getTag(FUELGAUGE_Min)); }
  74.     LONG Max()
  75.            { return LONG(getTag(FUELGAUGE_Max)); }
  76.     LONG Level()
  77.            { return LONG(getTag(FUELGAUGE_Level)); }
  78.     BOOL Percent()
  79.            { return BOOL(getTag(FUELGAUGE_Percent)); }
  80.  
  81.   protected:
  82.     virtual BOOL    Create(CITWindow* CITWd,CITContainer* parent);
  83.     virtual Object* NewObjectA(TagItem* tags);
  84.  
  85.   private:
  86.     void  setTag(int index,ULONG attr,ULONG val);
  87.     ULONG getTag(ULONG attr);
  88.  
  89.     TagItem* fuelGaugeTag;
  90. };
  91.  
  92. enum
  93. {
  94.   FUELGAUGECLASS_FLAGBITUSED = GADGETCLASS_FLAGBITUSED
  95. };
  96.  
  97. #endif
  98.